/* SIZING_OPERATIONS.H
 *
 * This file contains the sizing operations. The resulting image of these
 * operations may have a different size than the original image. The new
 * image is created in the setup methods, where the size can be determined.
 */

#pragma once

#include "image.h"
#include "operations.h"
#include "math.h"

//The setup methods return false to cancel the operation.
//The other (operation) methods return false on failure.

bool rotateSetup( Task *task );
bool rotate( Image &imgSource, Image &imgResult, void *data );


/*	Toegevoegd door Jeroen,
	Simpele klasse om instellingen gemaakt in Resizesetup op te slaan */

class ResizeSettings
{
public:
	double _scale;
	double _strResize;
	int _mode;
};

bool resizeSetup( Task *task );
bool resize( Image &imgSource, Image &imgResult, void *data );
int cubic( int v0, int v1, int v2, int v3, double t);

/*
	Naam: Mark van der Steen
*/
// declareren van een struct waar de settings (die in rotateSetup gemaakt zijn) in staan
class RotateSettings
{
public:
	double _degrees;

};